package sv.gob.mtps.sib.model;

// Generated 10-01-2012 11:40:38 AM by Hibernate Tools 3.4.0.CR1

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Inventario generated by hbm2java
 */
@Entity
@Table(name = "inventario", schema = "sib")
public class Inventario implements java.io.Serializable {

	private int idInventario;
	private Fuentefondo fuentefondo;
	private ProductoHasObjetoespecifico productoHasObjetoespecifico;
	private Bodega bodega;
	private Integer existencia;
	private Set<PedidoHasProducto> pedidoHasProductos = new HashSet<PedidoHasProducto>(
			0);
	private Set<InventarioHasTransacciones> inventarioHasTransaccioneses = new HashSet<InventarioHasTransacciones>(
			0);
	private Set<InventarioHasBodega> inventarioHasBodegas = new HashSet<InventarioHasBodega>(
			0);

	public Inventario() {
	}

	public Inventario(int idInventario, Bodega bodega) {
		this.idInventario = idInventario;
		this.bodega = bodega;
	}

	public Inventario(int idInventario, Fuentefondo fuentefondo,
			ProductoHasObjetoespecifico productoHasObjetoespecifico,
			Bodega bodega, Integer existencia,
			Set<PedidoHasProducto> pedidoHasProductos,
			Set<InventarioHasTransacciones> inventarioHasTransaccioneses,
			Set<InventarioHasBodega> inventarioHasBodegas) {
		this.idInventario = idInventario;
		this.fuentefondo = fuentefondo;
		this.productoHasObjetoespecifico = productoHasObjetoespecifico;
		this.bodega = bodega;
		this.existencia = existencia;
		this.pedidoHasProductos = pedidoHasProductos;
		this.inventarioHasTransaccioneses = inventarioHasTransaccioneses;
		this.inventarioHasBodegas = inventarioHasBodegas;
	}

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name = "id_inventario", unique = true, nullable = false)
	public int getIdInventario() {
		return this.idInventario;
	}

	public void setIdInventario(int idInventario) {
		this.idInventario = idInventario;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_fuentefondo")
	public Fuentefondo getFuentefondo() {
		return this.fuentefondo;
	}

	public void setFuentefondo(Fuentefondo fuentefondo) {
		this.fuentefondo = fuentefondo;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_producto_has_objetoespecifico")
	public ProductoHasObjetoespecifico getProductoHasObjetoespecifico() {
		return this.productoHasObjetoespecifico;
	}

	public void setProductoHasObjetoespecifico(
			ProductoHasObjetoespecifico productoHasObjetoespecifico) {
		this.productoHasObjetoespecifico = productoHasObjetoespecifico;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_bodega", nullable = false)
	public Bodega getBodega() {
		return this.bodega;
	}

	public void setBodega(Bodega bodega) {
		this.bodega = bodega;
	}

	@Column(name = "existencia")
	public Integer getExistencia() {
		return this.existencia;
	}

	public void setExistencia(Integer existencia) {
		this.existencia = existencia;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "inventario")
	public Set<PedidoHasProducto> getPedidoHasProductos() {
		return this.pedidoHasProductos;
	}

	public void setPedidoHasProductos(Set<PedidoHasProducto> pedidoHasProductos) {
		this.pedidoHasProductos = pedidoHasProductos;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "inventario")
	public Set<InventarioHasTransacciones> getInventarioHasTransaccioneses() {
		return this.inventarioHasTransaccioneses;
	}

	public void setInventarioHasTransaccioneses(
			Set<InventarioHasTransacciones> inventarioHasTransaccioneses) {
		this.inventarioHasTransaccioneses = inventarioHasTransaccioneses;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "inventario")
	public Set<InventarioHasBodega> getInventarioHasBodegas() {
		return this.inventarioHasBodegas;
	}

	public void setInventarioHasBodegas(
			Set<InventarioHasBodega> inventarioHasBodegas) {
		this.inventarioHasBodegas = inventarioHasBodegas;
	}

}
